package com.css.zfzx.sjcj.modules.hddcGeologicalSvyPlanningLine.service;

import com.alibaba.fastjson.JSONObject;
import com.css.zfzx.sjcj.common.spacedata.vo.SpaceDataParamsVo;
import com.css.zfzx.sjcj.modules.hddcGeologicalSvyPlanningLine.repository.entity.HddcGeologicalsvyplanninglineEntity;
import com.css.zfzx.sjcj.modules.hddcGeologicalSvyPlanningLine.viewobjects.HddcGeologicalsvyplanninglineQueryParams;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author zyb
 * @date 2020-12-07
 */

public interface HddcGeologicalsvyplanninglineService {

    public JSONObject queryHddcGeologicalsvyplanninglines(HddcGeologicalsvyplanninglineQueryParams queryParams, int curPage, int pageSize,String sort,String order);

    public HddcGeologicalsvyplanninglineEntity getHddcGeologicalsvyplanningline(String id);

    public HddcGeologicalsvyplanninglineEntity saveHddcGeologicalsvyplanningline(HddcGeologicalsvyplanninglineEntity hddcGeologicalsvyplanningline);

    Iterable<HddcGeologicalsvyplanninglineEntity>saveHddcGeologicalsvyplanninglineList(List<HddcGeologicalsvyplanninglineEntity> list );

    public HddcGeologicalsvyplanninglineEntity updateHddcGeologicalsvyplanningline(HddcGeologicalsvyplanninglineEntity hddcGeologicalsvyplanningline);

    public void deleteHddcGeologicalsvyplanninglines(List<String> ids);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    public List<HddcGeologicalsvyplanninglineEntity> findAll();

    void exportFile(HddcGeologicalsvyplanninglineQueryParams queryParams, HttpServletResponse response);

    String exportExcel(MultipartFile file, HttpServletResponse response);

    /**
     * 逻辑删除-根据项目id删除数据
     * @param projectIds
     */
    void deleteByProjectId(List<String> projectIds);

    /**
     * 逻辑删除-根据任务id删除数据
     * @param taskIds
     */
    void deleteByTaskId(List<String> taskIds);

    String judegeParams(String[] datas);

    boolean  saveHddcGeologicalsvyplanninglineFromShpFiles(List<List<Object>> list,String provinceName,String cityName,String areaName,String savefilename);

    void deleteFileData(SpaceDataParamsVo paramsVo);
}
